package com.shujia.day09;

public class C06String {
    public static void main(String[] args) {

        /*
        String 字符串的判断功能：
        boolean equals(Object obj)  // 判断内容是否相等
        boolean equalsIgnoreCase(String str) // Ignore忽略 Case样式  // 忽略大小写判断比较内容
        boolean contains(String str)  // 判断某个字符串是否包含另外一个字符串
        boolean startsWith(String str)  // 表示字符串是否以某个字符串为开头  对字符串进行过滤可以使用
        boolean endsWith(String str)  // 表示字符串是否以某个字符串为结尾
        boolean isEmpty()  // 判断字符串是否为空

         */

        String s1 = "hello";
        String s2 = "Hello";

        System.out.println(s1.equalsIgnoreCase(s2));

        System.out.println(s1.contains("hel"));
        System.out.println(s1.contains("hahaha"));

        System.out.println(s1.startsWith("he"));
        System.out.println(s1.endsWith("o"));

        System.out.println(s1.isEmpty());

        /*
            当字符串中的数据为null时 再调用其函数 会存在有 空指针异常 (在后续的学习中经常遇到 一定要记住)
                java.lang.NullPointerException
                原因：String s3 在栈中保存了 对象的地址或常量地址 但是其地址为NULL那么也就是栈指向堆时，找不到地址
                那么报错就是空指针

            那么对于变量中为null的如何进行判断
         */
        String s3 = null;
//        System.out.println(s3.isEmpty());


        if(s3 == null ){
            System.out.println("s3中的数据为null");
        }

        String s4 = "";
        System.out.println(s4.isEmpty()); // true


        // 注意要使用 || 来判断
        if(s3 == null || s3.isEmpty() ){
            System.out.println("s3中的数据为空或为null");
        }



    }
}
